home *** CD-ROM | disk | FTP | other *** search
/ Wonky Flux Batch 2019 02 / Wonky_Flux_Batch_2019-02.zip / Wonky Flux Batch 2019-02 / 021 - HO Utilities - Clock Utility System.dsk / ANALOG.CLOCK.bas next >
BASIC Source File  |  2019-02-16  |  3KB  |  53 lines

  1. 10  REM ANALOG CLOCK
  2. 11  REM  FOR TIMEMASTER II H.O.
  3. 12  REM COPYRIGHT (C) 1983 APPLIED ENGINEERING
  4. 13  REM WRITTEN BY BOB SANDER-CEDERLOF
  5. 20  TEXT : HOME 
  6. 30 D$ =  CHR$(4)
  7. 40  GOSUB 1000: IF SLOT = 0  THEN  PRINT "NO CLOCK BOARD FOUND.": END 
  8. 50  PRINT "CLOCK BOARD FOUND IN SLOT ";SLOT: GOSUB 1200
  9. 60 H = 0:M = 0:S = 0:KB =  -16384:SP =  -16336:FLAG = 1
  10. 70  GOSUB 2000: REM DRAW CLOCK FACE
  11. 80  PRINT D$"PR#"SLOT: PRINT D$"IN#"SLOT
  12. 100  REM DISPLAY RUNNING CLOCK
  13. 110  VTAB 1:X =  FRE(0): INPUT ":";T$: IF  PEEK(KB) >127  THEN  POKE  -16368,0: PRINT D$"PR#0": PRINT D$"IN#0": TEXT : END 
  14. 120 NS =  VAL( MID$ (T$,K(AP,2),2)): IF S = NS  THEN 110
  15. 130 X =  PEEK(SP) + PEEK(SP) + PEEK(SP): REM TICK-TOCK
  16. 140 NH =  VAL( MID$ (T$,K(AP,0),2)):NM =  VAL( MID$ (T$,K(AP,1),2))
  17. 150 NM = NM +NS/60:NH = 5 *(NH -12 *(NH >11) +NM/60)
  18. 160  HCOLOR= 0: HPLOT XC,YC TO XC +RM *S(S),YC +RM *C(S):S = NS: HCOLOR= 3: HPLOT XC,YC TO XC +RM *S(S),YC +RM *C(S)
  19. 170  IF (S = 0)  OR FLAG  THEN  HCOLOR= 0:FLAG = 0: GOSUB 2200: GOSUB 2220:H = NH:M = NM: HCOLOR= 3
  20. 180  GOSUB 2200: GOSUB 2220:: FOR Y = YC -2 TO YC +2: HPLOT XC -2,Y TO XC +2,Y: NEXT 
  21. 190  GOTO 110
  22. 999  REM ----------------------
  23. 1000  REM  H.O. FINDER
  24. 1010 SLOT = 0: FOR I = 1 TO 7:ADDR = 12 *4096 +I *256: REM $CS00
  25. 1020  IF  PEEK(ADDR) = 8  AND  PEEK(ADDR +1) = 120  AND  PEEK(ADDR +254) = 178  THEN SLOT = I:I = 7
  26. 1030  NEXT : IF SLOT = 0  THEN  RETURN 
  27. 1040 AP =  PEEK(ADDR +255)
  28. 1050 PA = 12 *4096 +128 +SLOT *16: REM   $C080+SLOT*16  
  29. 1060 CA = PA +1:PB = PA +2
  30. 1070  RETURN 
  31. 1199  REM ---------------------- 
  32. 1200  REM LOAD DATA
  33. 1210  DATA 12,15,18,7,10,13,13,16,19,12,15,18
  34. 1220  DIM K(3,2): FOR I = 0 TO 3: FOR J = 0 TO 2: READ K(I,J): NEXT : NEXT : RETURN 
  35. 1999  REM ----------------------
  36. 2000  REM DRAW CLOCK FACE
  37. 2010  HOME : FLASH : VTAB 22: HTAB 5: PRINT " ...PLEASE WAIT A FEW SECONDS ": HTAB 5: PRINT " WHILE I WIND UP THE CLOCK... ": NORMAL : HGR : HCOLOR= 3
  38. 2015  DIM S(59),C(59)
  39. 2020 AR = 1.2:P = 3.1415926536:PS = P/30: FOR I = 0 TO 44:S(I) =  SIN(P):C(I +15) = S(I)/AR:P = P -PS:X =  PEEK(SP): NEXT 
  40. 2030  FOR I = 45 TO 59:S(I) =  SIN(P):C(I -45) = S(I)/AR:P = P -PS:X =  PEEK(SP): NEXT 
  41. 2040 XC = 140:YC = 80:RD = 80:RM = 75:RH = 50
  42. 2050  FOR I = 0 TO 59  STEP 5:X = XC +RD *S(I):Y = YC +RD *C(I): FOR V = Y -1 TO Y +1: HPLOT X -1,V TO X +1,V: NEXT : NEXT 
  43. 2060  FOR I = 0 TO 59:X = XC +RD *S(I):Y = YC +RD *C(I): HPLOT X,Y: NEXT 
  44. 2070  FOR Y = YC -2 TO YC +2: HPLOT XC -2,Y TO XC +2,Y: NEXT 
  45. 2080  HOME : VTAB 22: HTAB 12: PRINT "APPLIED ENGINEERING": HTAB 12: PRINT "TIMEMASTER II H.O. ": VTAB 1: RETURN 
  46. 2199  REM ----------------------
  47. 2200  REM DRAW MINUTE HAND
  48. 2210 A = XC -7 *C(M):B = YC +5 *S(M): HPLOT A,B TO XC +RM *S(M),YC +RM *C(M) TO XC +7 *C(M),YC -5 *S(M) TO A,B: RETURN 
  49. 2219  REM -------------------
  50. 2220  REM  DRAW HOUR HAND
  51. 2230 A = XC -7 *C(H):B = YC +5 *S(H): HPLOT A,B TO XC +RH *S(H),YC +RH *C(H) TO XC +7 *C(H),YC -5 *S(H) TO A,B: RETURN 
  52. 59999  REM -------------------
  53. 60000  PR# 1: PRINT  CHR$(9)"80N":E$ =  CHR$(27): PRINT E$"B"E$"E"E$"L010": LIST : PR# 0: CALL 1002: END